A recent addition to QBSVGA is subroutine BPALETTE.  This subroutine does
essentially what QB's PALETTE statement does.  The original method of
accessing the color palette when using QBSVGA required you to first use
QB's SCREEN 13 statement and then call BSCREEN to put the screen in the
actual video mode you want to use.  You can still use that method if you
wish (and you'll have to if you want to use PALETTE USING).  If, however,
for whatever reason you don't want to mess with SCREEN 13, you can just use
BPALETTE instead of PALETTE.

Given that there's no real problem using QB's intrinsic PALETTE statement,
why did I incorporate BPALETTE?  Because I noticed something about QB to add
to my list of things that I don't like about it.  Normally, a video mode
change will cause the color palette to be reset to its default state.  I
recently discovered a software switch that you can set which will keep that
automatic reset from occurring.  This can be useful when you want to
redisplay a picture created previously with some other program that used a
different color palette.  Those new colors aren't stored in the video
buffer.  Hence, as you may already know, that second program to redisplay
the picture won't use the right colors unless you explicitly change the
palette--or keep it from being reset in the first place after the first
program initially changed it.  Now here comes that thing about QB that I
wish didn't exist.  QB's SCREEN statement resets the color palette no
matter how the above mentioned switch is set.  I'm not totally sure if this
is because QB changes the video mode using a direct hardware-write (if that's
possible), and further, if this palette reset switch only constrains mode
changes made via the bios, or that it's because QB explicitly resets the
palette as a totally separate step in conjunction with the mode change,
rather than rely on the computer to do it *because* of the mode change.
Except for when BSCREEN issues a SCREEN 0 in conjunction with resetting to a
text mode (either because you called BSCREEN with that mode or because
BSCREEN needs a text mode to ask you for a valid SVGA mode), nothing in
BSCREEN resets the color palette.  So, if you're using that palette reset-
constraining switch, you don't want to use the "SCREEN 13 fake-out" technique
of using PALETTE.  You can skip the SCREEN 13 statement and just use
BPALETTE.  (Of course, if none of this is of use to you, feel free to
continue using the SCREEN 13 fake-out and PALETTE!  And if you do decide
to use BPALETTE explicitly, and not at any time use SCREEN 13, you may want
to call subroutine RESETPALETTE just after calling BSCREEN.  Although it may
depend on the specific video board, I'm not convinced that the default
color palette you get with SVGA video mode changes is the same or as useful
as the default one you get with SCREEN 13.)
